#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <deque>
#include <list>
#include <vector>
using namespace std;

#include "STL_Stack&Queue.h"

void test_stack()
{
	bit::stack<int> st;
	cout << st.empty() << endl;
	st.push(1);
	st.push(2);
	st.push(3);
	st.push(4);
	cout << st.size() << endl;
	cout << st.empty() << endl;
	while (!st.empty())
	{
		cout << st.top() << " ";
		st.pop();
	}
	cout << endl;
}

void test_queue()
{
	bit::queue<int> q;
	cout << q.empty() << endl;
	q.push(1);
	cout << q.back() << endl;
	q.push(2);
	cout << q.back() << endl;
	q.push(3);
	cout << q.back() << endl;
	q.push(4);
	cout << q.back() << endl;
	cout << q.size() << endl;
	cout << q.empty() << endl;
	while (!q.empty())
	{
		cout << q.front() << " ";
		q.pop();
	}
	cout << endl;
}

int main()
{
	test_stack();
	test_queue();
	return 0;
}